Conventional document processing applications provide users the ability to insert various types of objects into electronic documents under creation or maintenance. The objects represent any form of data and include, for example, graphics, tables, icons, graphs and other electronic documents (e.g., spreadsheets, word processing documents, etc.). One type of object is what may be referred to as a “floating object”.
A floating object (e.g., pictures, shapes, textboxes) is an object that is not tied to any particular layer in an electronic document. The floating objects typically occupy different layers of a “z-order stack”, which determines which floating object to render “over” another when they overlap in the x-y plane”. Thus, a given page of an electronic document may be divided into many layers.
Manipulating floating objects often becomes difficult if one or more floating objects are behind other floating objects. This is a common problem for page layout applications since layout-rich documents typically have many floating objects. Some software applications have commands such as “move to back” and “send to front” to allow manipulation of the floating objects. However, if a floating object is completely obscured by another floating object, the user may not even be aware of the obscured floating object. The user may drag overlying object(s) out of the way to look for and get at the obscured floating object such that the user can edit the now uncovered floating object. However, the user may not even be aware of the existence of the obscured floating object. Moreover, the user may have a difficult time returning the moved floating object back to its original location. With some editing programs, even if a floating object is not completely obscured, it is difficult for a user to select the underlying floating object to edit it. Thus, it can be very frustrating for a user to edit a document with floating objects.